
#include "msh.h"
 extern const msh_cmd_t *__msh_cmd_start;
 extern const msh_cmd_t *__msh_cmd_end;

 int msh_cmd_echo(int argc, char **argv);
 int msh_cmd_help(int argc, char **argv);
 int msh_cmd_clear(int argc, char **argv);
 int ntc_cmd(int argc, char **argv);
 int cmd_eeprom_test(int argc, char **argv); 
 void opto_input_start(int argc, char **argv);
void make_ice_cream(int argc, char **argv);
void uln_ctrl(int argc, char **argv);
void ac_show(int argc, char **argv);
void msh_cmd_actuator(int argc, char **argv);

const msh_cmd_t msh_list[]=
{
    MSH_CMD_DEF(echo, "Echo input string", msh_cmd_echo),
    MSH_CMD_DEF(help, "List all commands", msh_cmd_help),
    MSH_CMD_DEF(clear, "Clear screen", msh_cmd_clear),
     MSH_CMD_DEF(ntc, "ntc channel", ntc_cmd),
     MSH_CMD_DEF(eeprom_test, "eeprom test", cmd_eeprom_test),
     MSH_CMD_DEF(input_monitor, "opto input start", opto_input_start),
     MSH_CMD_DEF(make_ice, "Test ice cream production with selected jams and toppings",make_ice_cream),
     MSH_CMD_DEF(uln_ctrl, "ULN通道控制（支持所有通道和指定通道设置0/1)",uln_ctrl),
     MSH_CMD_DEF(ac_show, "显示交流采样值",ac_show),
     MSH_CMD_DEF(act, "硬件控制命令", msh_cmd_actuator)
};
void msh_cmd_init()
{
    __msh_cmd_start=msh_list;
    __msh_cmd_end=__msh_cmd_start+sizeof(msh_list)/sizeof(msh_list[0]);
}